//
//  UIFont+Extension.swift
//  KeyboardAndEmoji
//
//  Created by AP020Mac mini on 30-07-25.
//

import UIKit


enum FontNameType : String{
    
    case Helvetica = "Helvetica"
    case SeasideResortNF = "SeasideResortNF"
    case Chalkboard = "Chalkboard"
    case ChalkboardSE = "Chalkboard SE"

    case AndaleMono = "AndaleMono"
    case Daizen = "Daizen"
    case FiddumsFamilyFont = "FiddumsFamilyFont"
    case GrandHotelRegular = "GrandHotel-Regular"
    case LettownHillsRegular = "LettownHills-Regular"
    case MillerRegular = "Miller-Regular"
    case PacificoRegular = "Pacifico-Regular"
    case SaltRegular = "Salt-Regular"
    case StripedShadows = "StripedShadows"
    case YOUSHEhaoshenti = "YOUSHEhaoshenti"
}





/// 系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func Font(_ size: CGFloat) -> UIFont {
    return UIFont.systemFont(ofSize: size)
}

/// 中等权重系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontMedium(_ size: CGFloat) -> UIFont {
    return UIFont.systemFont(ofSize: size, weight: .medium)
}

/// 半粗体系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontSemibold(_ size: CGFloat) -> UIFont {
    return UIFont.systemFont(ofSize: size, weight: .semibold)
}

/// 粗体系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontBold(_ size: CGFloat) -> UIFont {
    return UIFont.boldSystemFont(ofSize: size)
}


/// 系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontHelvetica(_ size: CGFloat) -> UIFont {
    return UIFont(name: "Helvetica", size: size)!
}

/// 粗体系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontHelveticaBold(_ size: CGFloat) -> UIFont {
    return UIFont(name: "Helvetica-Bold", size: size)!
}


/// 系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontCustom(_ fontName: String ,size : CGFloat) -> UIFont {
    return UIFont(name: fontName, size: size)!
}



/// 缩放字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontScale(_ size: CGFloat) -> UIFont {
    return Font(KScreenWValue(size))
}

/// 缩放中等权重字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontMediumScale(_ size: CGFloat) -> UIFont {
    return FontMedium(KScreenWValue(size))
}

/// 缩放半粗体字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontSemiboldScale(_ size: CGFloat) -> UIFont {
    return FontSemibold(KScreenWValue(size))
}

/// 缩放粗体字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontBoldScale(_ size: CGFloat) -> UIFont {
    return FontBold(KScreenWValue(size))
}


/// 系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontHelveticaScale(_ size: CGFloat) -> UIFont {
    return FontHelvetica(KScreenWValue(size))
}

/// 粗体系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontHelveticaBoldScale(_ size: CGFloat) -> UIFont {
    return FontHelveticaBold(KScreenWValue(size))
}



/// 系统字体
/// - Parameter size: 字体大小
/// - Returns: UIFont 对象
func FontNameScale(_ fontName: String ,size : CGFloat) -> UIFont {
    
    return FontCustom(fontName, size: (KScreenWValue(size)))
}
